Skip to content

fix(mental-models): full refresh pending delta baselines#1684

Merged
nicoloboschi merged 1 commit into
vectorize-io:mainfrom
xmh1011:fix/issue-1679-mental-model-initial-delta
May 25, 2026
Merged

fix(mental-models): full refresh pending delta baselines#1684
nicoloboschi merged 1 commit into
vectorize-io:mainfrom
xmh1011:fix/issue-1679-mental-model-initial-delta

Conversation

@xmh1011
Copy link
Copy Markdown
Contributor

@xmh1011 xmh1011 commented May 21, 2026

Summary

  • Treat the mental-model creation placeholder Generating content... as pending content, not as a valid delta baseline.
  • Make the first delta-mode refresh fall back to full recall/synthesis so pre-existing scoped facts are considered.
  • Add a regression test asserting the placeholder path does not pass created_after or call the delta-merge LLM.

Closes #1679.

Tests

  • HINDSIGHT_API_LLM_PROVIDER=none uv run pytest tests/test_mental_model_delta.py::TestDeltaRefreshPlumbing -q
  • uv run ruff check hindsight_api/engine/memory_engine.py tests/test_mental_model_delta.py
  • uv run ty check hindsight_api/engine/memory_engine.py
  • ./scripts/hooks/lint.sh

@yugandhar-maram
Copy link
Copy Markdown

Thanks for the quick fix!

Copy link
Copy Markdown
Collaborator

@nicoloboschi nicoloboschi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@nicoloboschi nicoloboschi merged commit 44b34c8 into vectorize-io:main May 25, 2026
58 checks passed
r0gig0r added a commit to r0gig0r/hindsight that referenced this pull request May 26, 2026
Notable upstream additions pulled in:
- feat(api): clear endpoint for mental model content (vectorize-io#1706)
- feat(api): per-operation LLM concurrency caps (vectorize-io#1738)
- feat(typescript-client): concrete generated types (replace Promise<any>)
- feat(reranker): Alibaba Qwen3-Rerank support (vectorize-io#1501)
- feat: opencode-go LLM provider (vectorize-io#1652)
- feat(extensions): OperationValidator.precheck pre-body-parse hook (vectorize-io#1548)
- feat(right-agent): new Right Agent integration (vectorize-io#1599)
- fix(ollama): ollama-cloud provider + native API auth (vectorize-io#1734)
- fix(reflect): hide disabled tools from agent system prompt (vectorize-io#1740)
- fix(retain): split oversized single items in batch retain (vectorize-io#1736)
- fix: escape literal braces in user-supplied prompt fields (vectorize-io#1728)
- fix(mental-models): full refresh pending delta baselines (vectorize-io#1684)
- fix(api): lazy load reflect tiktoken encoding (vectorize-io#1654)
- fix(api): reject blank retain content (vectorize-io#1685)
- fix(api): auto-refresh openai-codex OAuth access_token (vectorize-io#1637)
- fix(api): gzip middleware for graph payloads (vectorize-io#1731)
- fix(reranker): detect pre-normalized scores; rank-based fallback (vectorize-io#1512)

Conflicts: only package-lock.json files (took upstream, npm install verified)

Fork customizations verified intact (all 14 checks):
- duplicate_checker_fn streaming Phase 1.5 in orchestrator
- FallbackLLMProvider + CircuitBreaker (fallback_llm.py)
- Single-fact consolidation mode (is_fallback_active routing)
- recallExp + Jaccard dedup + compact memory formatter (plugin)
- Codex 5.1-codex-mini reasoning guard
- Infinity reranker /models fallback in cross_encoder.py
- diversity.py + deduplication.py fork-only modules retained

Tests:
- openclaw vitest: 267/267 pass
- ruff: clean
- tsc --noEmit: clean
- pytest: pre-existing env-config flakes (need HINDSIGHT_API_LLM_API_KEY);
  upstream commit 90cb145 acknowledged as pre-existing CI flakes

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bug: delta-mode initial refresh skips all pre-existing facts when mental model is created after consolidation

3 participants